package com.qijian.maindata.domain;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.qijian.common.annotation.Excel;
import com.qijian.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import java.util.Date;

/**
 * 【请填写功能名称】对象 main_production_plan_history
 *  生产计划历史记录
 *
 * @author qijian
 * @date 2024-01-17
 */
@EqualsAndHashCode(callSuper = true)
@Data
@ToString
@TableName("main_production_plan_history")
public class ProductionPlanHistory extends BaseEntity{
    private static final long serialVersionUID = 1L;

    @JsonSerialize(using= ToStringSerializer.class)
    @ApiModelProperty(value = "${column.columnComment}")
    private Long id;

    @Excel(name = "开工令id")
    @JsonSerialize(using= ToStringSerializer.class)
    @ApiModelProperty(value = "开工令id")
    private Long projectId;

    @Excel(name = "BOMID")
    @JsonSerialize(using= ToStringSerializer.class)
    @ApiModelProperty(value = "BOMID")
    private Long bomId;

    @Excel(name = "开工令")
    @ApiModelProperty(value = "开工令")
    private String projectNo;

    @Excel(name = "机台号")
    @ApiModelProperty(value = "机台号")
    private String machineNo;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "开始时间")
    private Date startTime;

    @ApiModelProperty(value = "间隔天数")
    private Long step;

    @Excel(name = "节点名称(工艺、预算、采购、车间名等)")
    @ApiModelProperty(value = "节点名称(工艺、预算、采购、车间名等)")
    private String nodeName;

    @Excel(name = "节点排序")
    @ApiModelProperty(value = "节点排序")
    private Long nodeOrder;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "节点开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "节点开始时间")
    private Date nodeStartTime;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "节点结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "节点结束时间")
    private Date nodeEndTime;

    @Excel(name = "节点节拍")
    @ApiModelProperty(value = "节点节拍")
    private Integer nodeStep;

    @Excel(name = "版本号")
    @ApiModelProperty(value = "版本号")
    private Integer version;

}
